package test2.lianbiao;

public class NodeList<T> {
	
	// 下面是SingleLinkedList类的数据成员和方法     
    private Node<T> head;   
    
    /**   
     * 判断链表是否为空   
     */    
    public boolean isEmpty() {     
        return head == null;     
    }  
	
	/**   
     * 创建头指针，该方法只用一次！   
     */    
    public void addToHead(T item) { 
    	if(head!=null) {
    		head = new Node<T>(item, head);
    	} else {
    		head = new Node<T>(item);
    	}
    }     
         
    /**   
     * 添加尾指针，该方法使用多次   
     */    
    public void addToTail(T item) {     
    	Node<T> p = head;
    	while(true) {
    		if(p==null) {
    			
    		}
    		p = p.next;
    	}
    }     
         
    /**   
     * 打印列表   
     */    
    public void printList() {     
        if (isEmpty()) {     
            System.out.println("null");     
        } else {     
        	for(Node<T> p = head; p != null; p = p.next)     
                System.out.println(p.nodeValue);   
        }     
    } 
    
    public static void main(String[] args) {     
        NodeList<String> t = new NodeList<String>();     
        t.addToHead("A");     
        //t.addFirst("addFirst");     
        t.addToHead("B");     
        t.addToHead("C");     
//        System.out.println(t.indexOf("C")); // 2     
//        System.out.println(t.contains("A")); // true     
        //t.addLast("addLast");     
        //t.removeLast();     
        //t.insert("B", "insert");     
        //t.removeFirst();     
        //t.remove("B"); // A C     
        t.printList(); // A B C     
             
    }    

}
